﻿namespace REVISIONMAX30
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    
    using System.Drawing;
    using System.Windows.Forms;

    public class MySourceList : UserControl
    {
        //private ObjectBase _parent;
        //private UIHandler _uiHandler = null;
        private ToolStripButton btnDelete;
        private ToolStripButton btnEdit;
        private ToolStripButton btnNew;
        private ToolStripButton btnRefresh;
        private ColumnHeader columnHeader1;
        private ColumnHeader columnHeader2;
        private ColumnHeader columnHeader3;
        private ColumnHeader columnHeader4;
        private ColumnHeader columnHeader5;
        private IContainer components = null;
        private FolderBrowserDialog folderBrowserDialog1;
        private Controls.MyListView lvSources;
        private ToolStrip toolStrip1;
        private ToolStripSeparator toolStripSeparator1;
        private ToolStripSeparator toolStripSeparator2;
        private ToolStripSeparator toolStripSeparator3;
        private ToolStripSeparator toolStripSeparator4;

        public MySourceList()
        {
            this.InitializeComponent();
        }


        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
            this.btnRefresh = new System.Windows.Forms.ToolStripButton();
            this.toolStrip1 = new System.Windows.Forms.ToolStrip();
            this.btnNew = new System.Windows.Forms.ToolStripButton();
            this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
            this.btnEdit = new System.Windows.Forms.ToolStripButton();
            this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
            this.btnDelete = new System.Windows.Forms.ToolStripButton();
            this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
            this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
            this.lvSources = new Controls.MyListView(this.components);
            this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
            this.columnHeader5 = new System.Windows.Forms.ColumnHeader();
            this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
            this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
            this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
            this.toolStrip1.SuspendLayout();
            this.SuspendLayout();
            // 
            // toolStripSeparator4
            // 
            this.toolStripSeparator4.Name = "toolStripSeparator4";
            this.toolStripSeparator4.Size = new System.Drawing.Size(6, 25);
            // 
            // btnRefresh
            // 
            this.btnRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.btnRefresh.ImageTransparentColor = System.Drawing.Color.Magenta;
            this.btnRefresh.Name = "btnRefresh";
            this.btnRefresh.Size = new System.Drawing.Size(49, 22);
            this.btnRefresh.Text = "Refresh";
            this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);
            // 
            // toolStrip1
            // 
            this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.btnNew,
            this.toolStripSeparator1,
            this.btnEdit,
            this.toolStripSeparator2,
            this.btnDelete,
            this.toolStripSeparator3,
            this.btnRefresh,
            this.toolStripSeparator4});
            this.toolStrip1.Location = new System.Drawing.Point(0, 0);
            this.toolStrip1.Name = "toolStrip1";
            this.toolStrip1.Size = new System.Drawing.Size(665, 25);
            this.toolStrip1.TabIndex = 17;
            this.toolStrip1.Text = "toolStrip1";
            // 
            // btnNew
            // 
            this.btnNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.btnNew.ImageTransparentColor = System.Drawing.Color.Magenta;
            this.btnNew.Name = "btnNew";
            this.btnNew.Size = new System.Drawing.Size(32, 22);
            this.btnNew.Text = "New";
            this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
            // 
            // toolStripSeparator1
            // 
            this.toolStripSeparator1.Name = "toolStripSeparator1";
            this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
            // 
            // btnEdit
            // 
            this.btnEdit.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.btnEdit.ImageTransparentColor = System.Drawing.Color.Magenta;
            this.btnEdit.Name = "btnEdit";
            this.btnEdit.Size = new System.Drawing.Size(29, 22);
            this.btnEdit.Text = "Edit";
            this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
            // 
            // toolStripSeparator2
            // 
            this.toolStripSeparator2.Name = "toolStripSeparator2";
            this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
            // 
            // btnDelete
            // 
            this.btnDelete.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
            this.btnDelete.ImageTransparentColor = System.Drawing.Color.Magenta;
            this.btnDelete.Name = "btnDelete";
            this.btnDelete.Size = new System.Drawing.Size(86, 22);
            this.btnDelete.Text = "Delete Selected";
            this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
            // 
            // toolStripSeparator3
            // 
            this.toolStripSeparator3.Name = "toolStripSeparator3";
            this.toolStripSeparator3.Size = new System.Drawing.Size(6, 25);
            // 
            // lvSources
            // 
            this.lvSources.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.lvSources.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
            this.columnHeader1,
            this.columnHeader5,
            this.columnHeader2,
            this.columnHeader3,
            this.columnHeader4});
            this.lvSources.Dock = System.Windows.Forms.DockStyle.Fill;
            this.lvSources.FullRowSelect = true;
            this.lvSources.GridLines = true;
            this.lvSources.HideSelection = false;
            this.lvSources.Location = new System.Drawing.Point(0, 25);
            this.lvSources.Name = "lvSources";
            this.lvSources.Size = new System.Drawing.Size(665, 333);
            this.lvSources.TabIndex = 18;
            this.lvSources.UseCompatibleStateImageBehavior = false;
            this.lvSources.View = System.Windows.Forms.View.Details;
            this.lvSources.DoubleClick += new System.EventHandler(this.lvSources_DoubleClick);
            // 
            // columnHeader1
            // 
            this.columnHeader1.Text = "Source";
            this.columnHeader1.Width = 221;
            // 
            // columnHeader5
            // 
            this.columnHeader5.Text = "Recursive";
            // 
            // columnHeader2
            // 
            this.columnHeader2.Text = "RegEx";
            this.columnHeader2.Width = 101;
            // 
            // columnHeader3
            // 
            this.columnHeader3.Text = "Created";
            this.columnHeader3.Width = 79;
            // 
            // columnHeader4
            // 
            this.columnHeader4.Text = "Updated";
            this.columnHeader4.Width = 87;
            // 
            // MySourceList
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.Controls.Add(this.lvSources);
            this.Controls.Add(this.toolStrip1);
            this.Name = "MySourceList";
            this.Size = new System.Drawing.Size(665, 358);
            this.toolStrip1.ResumeLayout(false);
            this.toolStrip1.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        private void btnDelete_Click(object sender, EventArgs e)
        {
            //List<int> idArray = new List<int>();
            //foreach (ListViewItem item in this.lvSources.SelectedItems)
            //{
            //    idArray.Add((int)item.Tag);
            //}
            //if (idArray.Count > 0)
            //{
            //    Common.DeleteSources(idArray);
            //}
            //this.UpdateViewer();
        }

        private void btnEdit_Click(object sender, EventArgs e)
        {
            //this.Edit();
        }

        private void btnNew_Click(object sender, EventArgs e)
        {
            //this.folderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer;
            //if (this.folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            //{
            //    using (SQLiteConnection connection = Common.GetSQLiteConnection())
            //    {
            //        connection.Open();
            //        this._uiHandler.ViewSource(new Source(this.folderBrowserDialog1.SelectedPath, this._parent, connection));
            //    }
            //}
            //this.UpdateViewer();
        }

        private void btnRefresh_Click(object sender, EventArgs e)
        {
            //this.UpdateViewer();
        }

        //protected override void Dispose(bool disposing)
        //{
        //    if (disposing && (this.components != null))
        //    {
        //        this.components.Dispose();
        //    }
        //    base.Dispose(disposing);
        //}

        //private void Edit()
        //{
        //    if (this.lvSources.SelectedItems.Count > 0)
        //    {
        //        this.uiHandler.ViewSource(Common.GetSourceById((int) this.lvSources.SelectedItems[0].Tag, this._parent));
        //    }
        //    this.UpdateViewer();
        //}
        //public void Initzialize(UIHandler puiHandler, ObjectBase parent)
        //{
        //    this._uiHandler = puiHandler;
        //    this._parent = parent;
        //    this.UpdateViewer();
        //}

        private void lvSources_DoubleClick(object sender, EventArgs e)
        {
            //this.Edit();
        }

        //public void UpdateViewer()
        //{
        //    this.lvSources.Items.Clear();
        //    using (SQLiteConnection connection = Common.GetSQLiteConnection())
        //    {
        //        connection.Open();
        //        using (SQLiteCommand command = connection.CreateCommand())
        //        {
        //            command.CommandText = string.Format("select * from `sources` where parentid = {0}", this._parent.id);
        //            SQLiteDataReader reader = command.ExecuteReader();
        //            while (reader.Read())
        //            {
        //                Source source = new Source(reader, this._parent);
        //                ListViewItem item = this.lvSources.Items.Add(source.source);
        //                item.Tag = source.id;
        //                item.SubItems.Add(source.recursive.ToString());
        //                item.SubItems.Add(source.regex);
        //                item.SubItems.Add(source.created.StringValueOrEmpty());
        //                item.SubItems.Add(source.updated.StringValueOrEmpty());
        //            }
        //        }
        //    }
        //}

        //public UIHandler uiHandler
        //{
        //    get
        //    {
        //        return this._uiHandler;
        //    }
        //    set
        //    {
        //        this._uiHandler = value;
        //    }
        //}
    }
}

